<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui">

    <ui:composition template="/plantillas/plantillaPrincipal.xhtml">
        <ui:define name="contenido">
            <f:view>
                <h:form id="formulario">

                    <p:panel id="pnlFindProdDisponible" header="Stock Articulos"
                             style="width:650px;margin: 5px auto" 
                             toggleable="true" widgetVar="buscar">

                        <h:panelGrid columns="2" styleClass="grid">
                            <h:column>
                                <h:outputLabel id="lblSede" value="SEDE: " class="lblBusqueda" />
                            </h:column>
                            <h:column>
                                <p:inputText onkeyup="cambiarMayuscula(this)" id="txtLocal" value="#{BKArticuloStock.articuloBusqueda.sede.direccion}" style="width: 400px"  />
                                <p:commandButton value="BUSCAR SEDE" styleClass="ui-priority-primary" id="btnBuscarDireccion"
                                                 actionListener="#{MBCompBuscarDireccion.inicializarBusquedaDireccion}" immediate="true"
                                                 onclick="buscarDireccion.show()" update=":formDireccion:panelDireccion"/>
                            </h:column>

                            <h:column>
                                <h:outputLabel id="lblCategoria" value="CATEGORIA: " class="lblBusqueda" />
                            </h:column>
                            <h:column>
                                <p:selectOneMenu id="cbxCategoria" value="#{BKArticuloStock.articuloBusqueda.articulo.idCategoriaArticulo}"
                                                 converter="#{categoriaArticuloConverter}" filterMatchMode="contains" style="width: 500px"
                                                 filter="#{BKArticuloStock.listaSubCategoriaEcontrada.size() gt 10}" >
                                    <f:selectItem itemLabel="Seleccionar" itemValue="" />
                                    <f:selectItems value="#{BKArticuloStock.listaSubCategoriaEcontrada}"
                                                   var="categoria" itemLabel="#{categoria.nombre}"
                                                   itemValue="#{categoria}" />
                                    <p:ajax update="cbxModelo" listener="#{MBArticuloStock.buscarArticulo}" event="change" /> 
                                </p:selectOneMenu>
                                <p:message for="cbxCategoria" display="text" />
                            </h:column>

                            <h:column>
                                <h:outputLabel id="lblModelo" value="MODELO: " class="lblBusqueda" />
                            </h:column>
                            <h:column>
                                <p:selectOneMenu id="cbxModelo" value="#{BKArticuloStock.articuloBusqueda.articulo.modelo}" style="width: 100%" 
                                                 filter="#{BKArticuloStock.listaModelosDistintos.size() gt 10}" filterMatchMode="contains">  
                                    <f:selectItem itemLabel="Seleccione" itemValue="" />  
                                    <f:selectItems value="#{BKArticuloStock.listaModelosDistintos}" var="modelo" itemLabel="#{modelo}" itemValue="#{modelo}"/>  
                                    <p:ajax update="idArticulo" listener="#{MBArticuloStock.buscarArticuloPorModelo}" event="change" /> 
                                </p:selectOneMenu>
                                <p:message for="cbxModelo" display="text" />
                            </h:column>

                            <h:column>
                                <h:outputLabel id="lblArticulo" value="ARTICULO: " class="lblBusqueda" />
                            </h:column>
                            <h:column>
                                <p:selectOneMenu value="#{BKArticuloStock.articuloBusqueda.articulo.id}" id="idArticulo" panelStyleClass="print"
                                                 filter="#{BKArticuloStock.listaArticulo.size() gt 10}" filterMatchMode="contains" 
                                                 panelStyle="width:450px" style="width: 450px" >  
                                    <f:selectItem itemLabel="Seleccionar" itemValue="0" />  
                                    <f:selectItems value="#{BKArticuloStock.listaArticulo}" var="art"
                                                   itemLabel="#{art.nombreComercial}" itemValue="#{art.id}"  />
                                </p:selectOneMenu>
                                <p:message for="idArticulo" display="text" />
                            </h:column>

                        </h:panelGrid>

                        <h:panelGrid columns="1" columnClasses="label, value"
                                     styleClass="grid">
                            <p:commandButton id="btnBuscarProdDisp" value="BUSCAR"
                                             update="pnlListaProdDisp,dataTablaProdDisp"
                                             actionListener="#{MBArticuloStock.buscarStockArticulo}"
                                             oncomplete="listaArtInventario.show();buscar.toggle()" style="font-size: 12px" />
                        </h:panelGrid>
                    </p:panel>

                    <p:panel id="pnlListaProdDisp"
                             header="Lista de Articulos Inventario" closable="true"
                             style="width: 100%;margin: 10px auto" visible="false"
                             widgetVar="listaArtInventario">

                        <h:panelGrid style="margin: 15px auto" cellspacing="4" columns="2">
                            <h:commandButton value="Exportar EXCEL">  
                                <p:dataExporter type="xls" target="dataTablaProdDisp" fileName="inventario" />  
                            </h:commandButton>  

                            <h:commandButton value="Exportar PDF">  
                                <p:dataExporter type="pdf" target="dataTablaProdDisp" fileName="inventario"/>  
                            </h:commandButton>
                        </h:panelGrid>

                        <p:dataTable id="dataTablaProdDisp" var="artStock"
                                     value="#{BKArticuloStock.listaArticuloStock}" widgetVar="lista"
                                     emptyMessage="No se encontraron Articulos en Inventario"
                                     filteredValue="" rowIndexVar="rowIndex" paginator="true" rows="20"
                                     paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} 
                                     {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
                                     rowsPerPageTemplate="40,80,100" styleClass="print">

                            <p:column id="idColumnaNum" style="width: 5%" headerText="Num.">
                                <h:outputText value="#{rowIndex+1}" />
                            </p:column>

                            <p:column id="idRazonSocial" >
                                <f:facet name="header">  
                                    <h:outputText value="Razon Social" />  
                                </f:facet>
                                <h:outputText value="#{artStock.sede.idEmpresa ne null?artStock.sede.idEmpresa.nombreComercial:
                                                       (artStock.sede.idProveedor ne null?artStock.sede.idProveedor.nombreComercial:'')}" />
                            </p:column>

                            <p:column id="idColumnaSede" sortBy="#{artStock.sede.nombre}" >
                                <f:facet name="header">  
                                    <h:outputText value="Sede" />  
                                </f:facet>
                                <h:outputText value="#{artStock.sede.nombre}" />
                            </p:column>

                            <p:column id="idColumnaArticulo" sortBy="#{artStock.articulo.nombreComercial}" >
                                <f:facet name="header">  
                                    <h:outputText value="Articulo" />  
                                </f:facet>
                                <h:outputText value="#{artStock.articulo.nombreComercial}" />
                            </p:column>

                            <p:column id="idColumnaPartidaLote" sortBy="#{artStock.partidaLote}" >
                                <f:facet name="header">  
                                    <h:outputText value="Partida/Lote" />  
                                </f:facet>
                                <h:outputText value="#{artStock.partidaLote}" />
                            </p:column>

                            <p:column id="idColumnaCantidad" sortBy="#{artStock.caStockDisponible}"   >
                                <f:facet name="header">  
                                    <h:outputText value="Cantidad" />  
                                </f:facet>
                                <h:outputText value="#{artStock.caStockDisponible}" style="float: right" >
                                    <f:convertNumber maxFractionDigits="2" groupingUsed="false" minFractionDigits="2" type="number" />
                                </h:outputText>
                            </p:column>

                            <p:column id="idColumnaCosto" sortBy="#{artStock.vaCosto}" >
                                <f:facet name="header">  
                                    <h:outputText value="Valor" />  
                                </f:facet>
                                <h:outputText value="#{artStock.vaCosto}" style="float: right" >
                                    <f:convertNumber maxFractionDigits="2" groupingUsed="false" minFractionDigits="2" />
                                </h:outputText>
                            </p:column>

                            <p:column sortBy="#{artStock.numDias}" >
                                <f:facet name="header">  
                                    <h:outputText value="DÍAS EN " />  <br />
                                    <h:outputText value="ALMACEN " />
                                </f:facet>
                                <h:outputText value="#{artStock.numDias}" style="float: right" >
                                </h:outputText>
                            </p:column>

                        </p:dataTable>
                    </p:panel>
                </h:form>

                <p:dialog widgetVar="buscarDireccion"  header="Buscar Sede" modal="true" >
                    <ui:include src="../../../general/direccion.xhtml" /> 
                </p:dialog>
            </f:view>
        </ui:define>
    </ui:composition>

</html>